package main

import "fmt"

type BiteInterface interface {
	bite()
}

type Insect struct {
}

func (insect *Insect) bite() {
	fmt.Println("昆虫叮咬")
}

// Mos 组合的Insect实现了BiteInterface，则Mos也可是作为实现了 BiteInterface接口
type Mos struct {
	Insect
}

func main() {
	var b BiteInterface
	//此时字段Insect为空对象，并非nil
	b = &Mos{}
	fmt.Printf("Mos详细信息: %+v\n", b)
	//接口与实现类是的关联，可以看作是松散的关系。
	//只要实现类在形式上拥有某个接口的所有方法，则可认为该类实现了这个接口
	b.bite()
}
